home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Plus 1995 #5 & #6
/
Amiga Plus CD - 1995 - No. 5 and 6.iso
/
pd
/
serien
/
purity
/
nr.40
/
scroll
/
scroll.p
< prev
next >
Wrap
Text File
|
1994-12-11
|
2KB
|
58 lines
{Programm: Scroll
Sinn: einfache Laufschrift über ScrollRaster für KP/MP3
Autor: PackMAN, Falk Zühlsdorff, Lindenberg 66, 98693 Ilmenau
email: ai036@rz.tu-ilmenau.de }
PROGRAM Scroll;
USES INTUITION,GRAPHICS;
VAR Win : p_Window;
rp : p_RastPort;
Text : string;STATIC;
{ Parameter:
myport : Zeiger auf den RastPort, in dem gescrollt werden soll.
breite : Breite des zu scrollenden Bereichs.
speed : Scrollgeschwindigkeit, nur Werte von 1 bis 8 sind sinnvoll.
repeats : Scrollwiederholungen speedabhängig;
zeichen-
zahl : Anzahl der zu scrollenden Zeichen.
x : x-Koordinate des Scrollbereichs.
y : y-Koordinate des Scrollbereichs.
Text : String, der den Scrolltext enthält. }
PROCEDURE ScrollTx(myport:p_RastPort;breite,speed,repeats,
zeichenzahl,x,y:INTEGER;Text:string);
VAR p,z : INTEGER;
gfx : LONG;
BEGIN
p:=0; z:=1;
repeats:=(repeats*Length(Text)*2)-(3*repeats);
REPEAT
WaitTOF; {synchronisieren}
ScrollRaster(myport,speed,0,x,y,breite,y+9); {scrollen}
Move(myport,breite-speed-p,y+8); {Position ändern}
IF zeichenzahl<=z THEN z:=1; {Text gescrolled ?}
IF repeats>-1 THEN DEC(repeats); {Wiederholung - 1}
gfx:=_Text(myport,Text[z],1); {Buchstaben zeichnen}
p:=p+speed; {Hilfszähler erhöhen}
IF p>8-speed THEN BEGIN p:=0; INC(z); END; {nächstes Zeichen?}
UNTIL (repeats=0); {und tschüß}
END;
BEGIN
Text:=" Dies ist eine simple Textscroll-Routine... ";
Win:=Open_Window(0,100,640,40,$0302,0,0,
"Scroll (c) by PackMAN for PURITY",NIL,0,0,0,0);
rp:=Win^.RPort;
ScrollTx(rp,545,4,5,Length(Text),95,20,Text);
delay(50);
Close_Window(Win);
END.